In recent years, many companies are seeking migration of various businesses to the cloud, and a market of a new IT era is led by this and continuously growing. It is because efficient IT investment including the maintenance, load reduction, and the like are expected in addition to system construction in a short period of time. Under such circumstances, VMware, Inc. advocates a concept software defined data center (SDDC) in which a data center is virtualized by extending a concept of software defined networking (SDN) in which network control is performed through software to a data center and is attracting attention. The purpose is to abstract an IT infrastructure through software as much as possible, provide a virtualized flexible service, and promote automation of introduction and expansion of an IT infrastructure and automation of service level control.
In the SDDC, flexibility is improved by separating software (on a virtual server) and hardware that actually performs a process. For this reason, in a virtual environment, it is required that software can be seamlessly executed regardless of an operation position of a virtual server. Particularly, in recent years, many hypervisor products capable of dealing with live migration of a virtual server being operated have been introduced. In this regard, it is desirable that communication can be seamlessly performed while causing the application layer on the virtual server not to be aware of it even when a communication path between the virtual servers is changed, for example, due to the live migration of the virtual server.
Meanwhile, high-speed broad band communication of 10 Gbps or higher is required as communication performance. For this reason, in the virtual environment, a (zero-copy) remote direct memory access (RDMA) of communicating data directly to a memory to suppress communication performance degradation caused by overhead resulting from virtualization, a high-speed I/O device such as single root I/O virtualization (SR-IOV), or the like is used to improve communication performance. Further, a stack type configuration, a mesh type configuration (peer to peer (P2P) communication), or the like is used as a network configuration between virtual servers, but P2P communication in which mutual communication is performed between virtual servers, and useless communication is small is being used.
As a background art of a technical field in which such communication control between virtual servers is performed, a technique of continuing communication by allocating a port in which two logical objects are allocated to a main memory to a virtual server and switching a port to a line failure (Patent Document 1) has been proposed. Specifically, a communication path using the RDMA is made redundant, and a plurality of ports are allocated to a virtual server according to redundancy. As a result, when a line failure occurs, a communication path can be changed by stopping the use of a port connected to a line having a failure and using a port connected to a redundant line instead.
XenLoop (Non Patent Document 1) has been proposed as a communication scheme between virtual servers (Chapter 3 “DESIGN AND IMPLEMENTATION”). XenLoop is a driver that is implemented between the IP layer and the data link layer of the communication protocol stack. Thus, XenLoop receives data transmitted from an application in a packet form. For example, when a virtual server of a transmission destination exists on the same hypervisor, transmission is performed using a communication channel (a Xenloop channel) of the hypervisor, and a packet is transferred to the data link layer without change otherwise.